// store.js
import { createStore } from 'vuex'
import { getSchoolList } from "@/api/schoolApi";
import { ElMessage } from "element-plus";
// 初始状态2
function getInitialState() {
  return {
    user: null
  }
}
export default createStore({
  state() {
    // 定义应用的状态1
    return {
      user: null,
      // 学校信息list，组件通过mapState
      schoolList: [],
    }
  },
  mutations: {
    // 定义用户状态变更的方法
    setuser(state, user) {
      state.user = user;
    },
    // 清空用户状态
    clearUser(state) {
      state.user = null;
      //用法2
      // Object.assign(state,getInitialState());
    },
    //获取学校信息变更
    setschoolList(state, schoolList) {
      state.schoolList = schoolList;
    }
  },
  // 定义触发状态变更的动作
  actions: {
    // 异步获取学校信息方法，组件通过mapActions
    async fetchschoolList(context) {
      try {
        // 调用异步函数，并等待api请求获取学校信息完毕
        const res = await getSchoolList();
        context.commit("setschoolList", res)
      } catch (error) {
        ElMessage({
          message: error,
          type: "warning",
        });
      }
    }
  },
  getters: {
    // 定义获取状态的方法
  }
}) 